package com.transac.demo.service;
//NESTED 如果当前存在事务，则在嵌套事务内执行。如果当前没有事务，则执行与PROPAGATION_REQUIRED类似的操作。
public interface TransactionNestedService {
    /*
     * 外层无事务，内层有事务，内层抛错
     * 外层提交，内层回滚
     */
    void updateMoney1();

    /*
     * 外层有事务，内层有事务，内层抛错
     * 外层回滚，内层回滚
     * 和Required_new一样
     */
    void updateMoney2();
    /*
     * 外层有事务，内层有事务，外层抛错
     * 外层回滚，内层回滚
     * 注意这里和Required_new是不一样的
     */
    void updateMoney3();
    /*
     * 外层有事务，内层有事务，内层抛错，外层try/catch捕获
     * 外层提交，内层回滚
     * 注意这里和Required是不同的，required的话外层也会回滚
     */
    void updateMoney4();

}
